package com.gorkr;

/**
 * @author gorkr
 * @date 2022/01/17 10:41
 * Pow(x,n)
 **/
public class L50 {

    /**
     * 快速幂思想解决乘方
     * @param x 底数
     * @param n 指数
     * @return double 结果
     */
    public double myPow(double x, int n) {
        // 为什么用long b = n;
        if(n<0){
            n=-n;
            x=1/x;
        }
        if(x==0){
            return 0;
        }
        double res = 1.0;

        while (n!=0){
            if((n&1)==1){
                res*=x;
            }
            x = x*x;
            n>>=1;
        }

        return 0;
    }
}
    